package com.gzx.plugin.tjzy.modular.gzxcase.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import vip.xiaonuo.common.handler.CommonSm1AesTypeHandler;
import vip.xiaonuo.common.pojo.TenantEntity;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 借款信息
 *
 * @TableName gzx_case_detail
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "gzx_case_detail", autoResultMap = true)
public class GzxCaseDetail extends TenantEntity implements Serializable {
    private static final long serialVersionUID = 6891675759552910372L;

    /**
     * 自增主键
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 业务用户ID
     */
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    private String debtorCardId;

    /**
     * 批次号
     */
    private String batchNumber;
    /**
     * 进件编号
     */
    private String loanNo;
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 借款编号
     */
    private String loanKey;
    /**
     * 资金方编码
     */
    private String funder;
    /**
     * 总期数
     */
    private Integer totalPeriod;
    /**
     * 订单放款日期
     */
    private String loanDate;
    /**
     * 订单放款金额
     */
    private BigDecimal loanAmount;
    /**
     * 逾期金额
     */
    private BigDecimal overdueAmount;
    /**
     * 逾期日期
     */
    private String overdueDate;
    /**
     * 合同利率
     */
    private BigDecimal contractRate;
    /**
     * 收款账户
     */
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    private String bankAccount;
    /**
     * 收款账户归属银行
     */
    private String bankName;

    /**
     * 甲方系统唯一ID
     */
    private String partnerBusinessId;

    /**
     * JSON
     */
    private String allDetail;
}